package com.woniu.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.woniu.commons.exception.YogaException;

import com.woniu.model.dto.CoachMyVenueDto;
import com.woniu.model.dto.VenueCoachDto;
import com.woniu.model.dto.VenueLoadCoachDto;
import com.woniu.model.model.YVenueCoach;
import com.woniu.model.param.PageVenueCoachParam;
import com.woniu.model.param.VenueLoadCoachParam;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author EdisonLiu
 * @since 2024年05月23日
 */
public interface YVenueCoachService extends IService<YVenueCoach> {

    Integer leaveVenueCoach(Integer coachId, Integer venueId);

    Page<YVenueCoach> pageVenueCoach(PageVenueCoachParam param);




//    List<VenueBaseDto> queryCoachIdEnterVenue(Integer coachId) throws YogaException;
    /**
     * 根据场馆id去查询该场馆内所有的教练
     * @param
     * @return
     */
    public List<VenueCoachDto> loadListVenueCoach(Integer venueId)throws YogaException;

    /**
     * 分页查询场馆里面已经入驻的教练
     *
     * @param param 分页信息
     * @return
     */
    public Page<VenueLoadCoachDto> loadPageVenueCoach(VenueLoadCoachParam param)throws YogaException;


    /**
     * 根据教练id去查询该教练所在的场馆详细信息
     * @param coachId
     * @return
     */
    public CoachMyVenueDto loadCoachMyVenue(Integer coachId)throws YogaException;

    /**
     * 根据场馆Id去查询该场馆内所有的教练
     * @param venueId
     * @return
     */
   public List<VenueCoachDto> VenueByIdCoach(Integer venueId)throws YogaException;
}
